package com.whj.wkpt.entity;

import java.math.BigDecimal;
import java.time.LocalDateTime;

public class Task {
    private Long taskId;
    private Long employerId;
    private String title;
    private String description;
    private BigDecimal budget;
    private LocalDateTime publishDate;
    private String taskStatus; // open: 待承接, in_progress: 进行中, completed: 已完成, closed: 已关闭
    private LocalDateTime createTime;
    private LocalDateTime updateTime;

    // Constructors
    public Task() {}

    public Task(Long employerId, String title, String description, BigDecimal budget, String taskStatus) {
        this.employerId = employerId;
        this.title = title;
        this.description = description;
        this.budget = budget;
        this.taskStatus = taskStatus;
    }

    // Getters and Setters
    public Long getTaskId() {
        return taskId;
    }

    public void setTaskId(Long taskId) {
        this.taskId = taskId;
    }

    public Long getEmployerId() {
        return employerId;
    }

    public void setEmployerId(Long employerId) {
        this.employerId = employerId;
    }

    public String getTitle() {
        return title;
    }

    public void setTitle(String title) {
        this.title = title;
    }

    public String getDescription() {
        return description;
    }

    public void setDescription(String description) {
        this.description = description;
    }

    public BigDecimal getBudget() {
        return budget;
    }

    public void setBudget(BigDecimal budget) {
        this.budget = budget;
    }

    public LocalDateTime getPublishDate() {
        return publishDate;
    }

    public void setPublishDate(LocalDateTime publishDate) {
        this.publishDate = publishDate;
    }

    public String getTaskStatus() {
        return taskStatus;
    }

    public void setTaskStatus(String taskStatus) {
        this.taskStatus = taskStatus;
    }

    public LocalDateTime getCreateTime() {
        return createTime;
    }

    public void setCreateTime(LocalDateTime createTime) {
        this.createTime = createTime;
    }

    public LocalDateTime getUpdateTime() {
        return updateTime;
    }

    public void setUpdateTime(LocalDateTime updateTime) {
        this.updateTime = updateTime;
    }

    @Override
    public String toString() {
        return "Task{" +
                "taskId=" + taskId +
                ", employerId=" + employerId +
                ", title='" + title + '\'' +
                ", budget=" + budget +
                ", taskStatus='" + taskStatus + '\'' +
                '}';
    }
}